<?php
    class MenuHelper extends AppHelper
    {
        var $helpers = array('Html');
       
        /**
         * recebe o array que o component menu gerou e retorna a lista
         * em <ul> e <li> bastando utilizar CSS para deixar o munu da
         * forma que desejar
         *
         * @param array $menu
         * @return lista
         */
        function montaMenu($menu)
        {
            $cells=$this->home();
            foreach ($menu as $section)
            {
                $cells.=$this->getSection($section);
            }
            $cells.=$this->logout();
            $out = $this->Html->tag('ul',$cells,array('class'=>'dropdown dropdown-horizontal'));
            return $out;
 
        }
       
        /**
         * monta uma seção do menu recursivamente
         *
         * @param array $section
         * @return seçao do menu
         */
        function getSection($section)
        {
            $out='';
            if (isset($section['controller']))
            {
                $out.=$this->Html->tag('li',$this->Html->link($section['label'],$section));
            }
            else
            {  
                foreach ($section as $n=>$item)
                {  
                    if ($n!='label')
                    $out.=$this->getSection($item);
                }
                $out=$this->Html->tag('li',$this->Html->link($section['label'],'javascript:void(0);',array('class'=>'dir')).$this->Html->tag('ul',$out));
            }
            return $out;
        }
       
        /**
         * exibe o link de logout
         *
         * @return logout
         */
        function logout()
        {
            return $this->Html->tag('li',$this->Html->link('Sair',array('controller'=>'users','action'=>'logout')));
        }
       
        /**
         * exibe o link Home
         *
         * @return home
         */
       
        function home()
        {
            return $this->Html->tag('li',$this->Html->link('Início',array('controller'=>'pages','action'=>'home')));
        }
    }
?>